Smarty: отображать случайное предложение из массива - PullRequest
1 голос
/ 12 апреля 2010

У меня есть шаблон smarty, который я хочу отображать случайным предложением при каждой перезагрузке. Я мог бы сделать это с этим:

в php файле:

$sentences = array('Hello you', 'Hi mate', 'Welcome');
shuffle($sentences);
$smarty->assign('sentence', $sentences[0]);

в файле шаблона:

<h1>{$sentence}</h1>

Возможно ли сделать все это вместо шаблона? Поскольку это не просто логика программирования, а скорее логика представления, мне бы хотелось, чтобы все это было в шаблоне так:

<h1>{'Hello you', 'Hi mate', 'Welcome'| selectRandom }</h1>

Что-то подобное?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

Вы можете написать что-то вроде этого ( источник ):

{assign var = randomindex value = $ Images | @array_rand}

Random Image

1 голос
/ 12 апреля 2010

реализовать умную функцию selectRandom затем: -)

{selectRandom(1, 2, 3, ...)}
...